package org.dromara.oce.domain.qo;

import com.bytedance.ads.model.DpaProductCreateV2RequestProductInfoVideosInner;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

@Data
public class ProductInfo {

    //===================产品库基础字段信息==========================
    /**
     * 商品名称，可用于动态创意标题或者素材，长度需要小于150
     */
    @NotNull(message = "请输入商品名称")
    private String name = null;

    /**
     * 商品描述，长度需要小于500，当商品库类型为小说库时必填
     */
    private String description = null;

    /**
     * 商品主图url链接，展示在信息流中的原始素材
     */
    @NotNull(message = "请选择商品主图")
    private String imageUrl = null;

    /**
     * 扩展商品图，商品图片的补充，不超过十张图片，当商品库类型为引流电商库时必填
     */
    private List<String> imageUrls = null;

//    /**
//     * 商品上线时间，格式为十位unix时间戳类型，默认为当前时间
//     */
//    private Long onlineTime = null;

//    /**
//     * 商品下线时间，格式为十位unix时间戳类型，默认为当前时间+3年
//     */
//    private Long offlineTime = null;

    /**
     * 一级分类，用于筛选、扩展投放，模型训练，动态创意标题或者素材，除通用/房产/家装/招聘信息/电商/引流电商/内容库外，其余商品库类型必填
     */
    @NotNull
    private String firstCategory = null;
    /**
     * 二级分类，用于筛选、扩展投放，模型训练，动态创意标题或者素材，除通用/房产/家装/招聘信息/电商/引流电商/内容库外，其余商品库类型必填
     */
    @NotNull
    private String subCategory = null;
    /**
     * 三级分类，用于筛选、扩展投放，模型训练，动态创意标题或者素材，除通用/房产/家装/招聘信息/电商/引流电商/内容库外，其余商品库类型必填
     */
    @NotNull
    private String thirdCategory = null;
    /**
     * 一级分类ID，用于筛选、扩展投放，模型训练，除通用/房产/家装/招聘信息/电商/引流电商/内容库外，其余商品库类型必填
     */
    @NotNull
    private String firstCategoryId = null;
    /**
     * 二级分类ID，用于筛选、扩展投放，模型训练，除通用/房产/家装/招聘信息/电商/引流电商/内容库外，其余商品库类型必填
     */
    @NotNull
    private String subCategoryId = null;
    /**
     * 三级分类ID，用于筛选、扩展投放，模型训练，除通用/房产/家装/招聘信息/电商/引流电商/内容库外，其余商品库类型必填
     */
    @NotNull
    private String thirdCategoryId = null;
    //===================产品库基础字段信息==========================


    /**
     * 商品落地页信息
     */
    private LandingInfo landingInfo = null;

    //===================产品库为通用库/电商库/其他库/小说库/内容库时的落地页信息字段===================
    private List<String> tags = null;

    private List<String> city = null;

    private List<String> province = null;

    private List<Long> age = null;

    private List<String> label = null;

    private String video = null;

    private List<DpaProductCreateV2RequestProductInfoVideosInner> videos = null;

    private Profession profession = null;
    //===================产品库为通用库/电商库/其他库/小说库/内容库时的落地页信息字段===================



//    /**
//     * 商品品牌信息
//     */
//    @SerializedName("brand_info")
//    private DpaProductCreateV2RequestProductInfoBrandInfo brandInfo = null;

    /**
     * 价格信息
     */
    private PriceInfo priceInfo = null;

    /**
     * 购买量，可用于动态创意标题或者素材
     */
    private Long bought = null;

    /**
     * 评论数，可用于动态创意标题或者素材
     */
    private Long comments = null;

    /**
     * 特色信息，可用于动态创意标题或者素材
     */
    private String feature = null;

//    private DpaProductCreateV2RequestProductInfoGeo geo = null;

//    private DpaProductCreateV2RequestProductInfoGeoTarget geoTarget = null;

//    /**
//     * 评分，可用于动态创意标题或者素材
//     */
//    private Double mark = null;
//
//    /**
//     *
//     * 商品外部id
//     */
//    private String outerId = null;

//    private DpaProductCreateV2RequestProductInfoShopKeeperInfo shopKeeperInfo = null;

//    /**
//     * 商品spu_id
//     */
//    private String spuId = null;
//
//    /**
//     * 商品标题，长度需要小于150字符
//     */
//    private String title = null;
//
//    /**
//     * 商品标题组，最多添加9个，每条标题长度需要小于150字符
//     */
//    private List<String> titles = null;

}
